草庐IT

Spring JPA PostgreSQL + MongoDB

全部标签

mongodb - 禁用身份验证时在 MuleStudio 中配置 MongoDB 连接器 - "failed to connect"错误

我正在MuleStudio中编写一些流程,用于保存和查询MongoDB数据库。当指向一个具有dbAdmin和userAdmin角色的用户并配置了该用户的凭据的数据库时,流程工作正常。但是,当我将它指向另一个没有添加用户的数据库时,出现以下错误。我将用户名和密码保存在Mule的MongoDB连接器配置中,作为文档中建议的虚拟文本,然后将它们取出,但无济于事。我正在使用3.3.1CE运行时。带有虚拟凭据的错误消息:ERROR2013-10-1014:48:08,176[[sso-mds].connector.http.mule.default.receiver.02]org.mule.re

mongodb - Mongo,强制集合中的特定字段具有唯一值

我有一个集合:“foo”foo:{name:'steve'}因此,要使名称成为唯一索引,您可以运行:db.foo.ensureIndex({{name:1}},{unique:true})但是我想做的是确保只允许一个值为“steve”的名称。有没有办法使一个字段成为唯一索引,但指定它只应在该属性的值具有特定值时执行?伪查询.....db.foo.ensureIndex({{name:'steve'}},{unique:true})好foo:{name:'steve');foo:{name:'chris'};foo:{name:'chris'};foo:{name:'mike'};foo

mongodb - 它如何处理子文档的 $lt

我有一个集合,其中一个字段是一个子文档。我很困惑mongodb如何在完整的子文档上支持$lt、$gt查询运算符。示例:db.test.insert({a:1,subdocA:{x:4,y:7,z:10},b:10})db.test.insert({a:9,subdocA:{x:2,y:70,z:5},b:9})db.test.insert({a:4,subdocA:{x:8,y:2,z:45},b:19})在上面的集合中,我看到mongodb支持这样的查询:db.test.find({subdocA:{$lt:{x:6,y:5,z:25}})事实上它也支持与$gt运算符类似的查询。它还

mongodb - 镜像生产 Mongo 数据用于分析

我有一个Mongo集群来支持我在生产中使用的应用程序。它对我的业务非常重要,并且聚集在多个盒子中以优化速度和冗余。我想让所述集群中的数据可用于运行分析查询和排队任务,但我绝对不希望这些损害生产性能。是否可以将我的所有数据镜像到我放入集群的单个盒子中,并带有一些特殊标签,然后我可以将其用于分析?慢点就好了。我只是希望它便宜并且不影响生产读/写速度。 最佳答案 既然你在谈论冗余,我假设你有一个副本集。在这种情况下,您可以使用hiddenreplicasetmember执行您需要的计算。请记住,成员数必须是奇数。如果添加一个节点,您可能还

mongodb - 比较同一集合的两个字段

我想用cakephp在mongodb中比较同一个集合的两个字段(Mysql查询示例“SELECT*FROMtableAStWHEREt.field1>t.filed2;”)。我不能使用“$where”和mongodb的聚合,因为我也在使用mongodb的其他运算符,如$or、$and等。而且我正在使用mongodb的查找。例如:集合有两个整数字段per_day_budget和today_spent,我想获取today_spent小于或等于per_day_budget的记录列表。我希望这会让您更好地理解我的查询。请提出相同的解决方案。 最佳答案

mongodb - MongoDB 中的嵌套文档值搜索

给定MongoDB中的以下用户对象,按relation.$.status=='friends'搜索最快的方法是什么?需要找到一种方法在user集合的relation数据中查找,该数据包含一个值为"friends的对象"(参见下面的伪查询)。此特定集合的键已设置为uid,因此假设下面的“用户数据”部分可能不会更改。用户数据:{"_id":ObjectId('1a1a1a1a111a1a11a1a1a1a'),"name":"Tester","relation":{"2b2b2b2b2b2b2b2b2b2b2b":{"status":'friends',"status_changed_da

Mongodb聚合,如何组合或合并字段然后计数

我在一个集合中有property(home)数据。每个家庭可以有多个所有者,并存储为单独的字段,例如{home:1,owner1:Fred,owner2:Jason,owner3:Stan}我想获得前X个所有者姓名的列表。作为mongodb的新手,我能够改编一个基本示例来聚合和计算一个字段(owner1),但我不知道如何组合owner1、owner2、owner3的名称然后进行计数。我现在使用pymongo有什么x=data2009.aggregate([{"$group":{"_id":"$OWNER1","value":{"$sum":1}}},{"$sort":{"value":

mongodb - 使用脚本创建多个索引

如何使用脚本/文件创建多个索引,以便我可以在shell中运行它并在一个操作中创建所有索引?此处列出了信息:http://docs.mongodb.org/manual/tutorial/write-scripts-for-the-mongo-shell/我是否创建了一个javascript文件(.js),然后像这样依次列出所有ensureIndexes:db.data1.ensureIndex(..)db.data2.ensureIndex(..)db.data3.ensureIndex(..)db.data4.ensureIndex(..)这在语法上是否正确?这会编译吗?

c# - 使用 MongoDB 的 Linq 查询不能像 Func 那样工作

我在MongoDB集合上构建了一个Linq查询,它可以正确检索我的文档:varparts=mongoParts.AsQueryable().Where(mongo=>mongo.Prop1==bmbMatch.Prop1&&mongo.Prop2==bmbMatch.Prop2).ToList();这工作正常,但为了减少代码,我写了一个通用函数,接受一个Funcselector它采用与上面Where子句中完全相同的lamdba表达式,这使得它:varmongo=mongoQuery.AsQueryable().Where(tmongo=>selector(tmongo,localMat

mongodb - 将元素从 $pull 移动到另一个数组

我在同一个集合中有很多这样的文档:{"_id":ObjectId("4d525ab2924f0000000022ad"),"array":[{id:1,other:23},{id:1,other:21},{id:0,other:235},{id:1,other:765}],"zeroes":[]}我希望它们看起来像这样:{"_id":ObjectId("4d525ab2924f0000000022ad"),"array":[{id:1,other:23},{id:1,other:21},{id:1,other:765}],"zeroes":[{id:0,other:235}]}基本上,